package seueniumfordemoiselle.seleniumsimplify.pages.cadastro;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.CacheLookup;
import org.openqa.selenium.support.FindBy;

import seueniumfordemoiselle.seleniumsimplify.pages.BasePage;

/**
 * @author rogerio
 * Representa a página de cadastro de UF
 *
 */
public class PessoaCadastroPage extends CadastroPage{
	
	@FindBy(xpath="//input[contains(@id,'nome')]")
	@CacheLookup
	WebElement inputNome;
	
	@FindBy(xpath="//input[contains(@id,'sigla')]")
	@CacheLookup
	WebElement inputTelefone;
	
	@FindBy(xpath="//input[contains(@id,'cpf')]")
	@CacheLookup
	WebElement inputCPF;
	
	@FindBy(xpath="//input[contains(@id,'email')]")
	@CacheLookup
	WebElement inputEmail;
	
	@FindBy(xpath="//input[contains(@id,'datanascimento')]")
	@CacheLookup
	WebElement inputDataNascimento;
	
	@FindBy(xpath="//input[contains(@id,'salario')]")
	@CacheLookup
	WebElement inputSalario;
	
	@FindBy(xpath="//input[contains(@id,'endereco')]")
	@CacheLookup
	WebElement inputEndereco;

	public PessoaCadastroPage(WebDriver driver) {
		super(driver);
		setUrl(BasePage.URL_BASE_PAGINAS + "pessoa_edit.jsf");
	}
	
	
	/**
	 * Preenche o campo Nome 
	 */
	public PessoaCadastroPage digitarNome(String string){
		this.inputNome.clear();
		this.inputNome.sendKeys(string);
		return new PessoaCadastroPage(this.getDriver());
	}
	
	/**
	 * Preenche o campo Sigla 
	 */
	public PessoaCadastroPage digitarSigla(String string) {
		this.inputTelefone.clear();
		this.inputTelefone.sendKeys(string);
		return new PessoaCadastroPage(this.getDriver());
	}	
	
	/**
	 * Preenche o campo Sigla 
	 */
	public PessoaCadastroPage digitarCPF(String string) {
		this.inputCPF.clear();
		this.inputCPF.sendKeys(string);
		return new PessoaCadastroPage(this.getDriver());
	}
	
	/**
	 * Preenche o campo Sigla 
	 */
	public PessoaCadastroPage digitarEmail(String string) {
		this.inputEmail.clear();
		this.inputEmail.sendKeys(string);
		return new PessoaCadastroPage(this.getDriver());
	}
	
	/**
	 * Preenche o campo Sigla 
	 */
	public PessoaCadastroPage digitarDataNascimento(String string) {
		this.inputDataNascimento.clear();
		this.inputDataNascimento.sendKeys(string);
		return new PessoaCadastroPage(this.getDriver());
	}
	
	/**
	 * Preenche o campo Sigla 
	 */
	public PessoaCadastroPage digitarSalario(String string) {
		this.inputSalario.clear();
		this.inputSalario.sendKeys(string);
		return new PessoaCadastroPage(this.getDriver());
	}
	
	/**
	 * Preenche o campo Sigla 
	 */
	public PessoaCadastroPage digitarEndereco(String string) {
		this.inputEndereco.clear();
		this.inputEndereco.sendKeys(string);
		return new PessoaCadastroPage(this.getDriver());
	}
}
